package org.jeecg.modules.demo.bid.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 合同管理
 * @Author: jeecg-boot
 * @Date:   2021-11-28
 * @Version: V1.0
 */
@ApiModel(value="contract_management对象", description="合同管理")
@Data
@TableName("contract_management")
public class ContractManagement implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**合同自动编号*/
	@Excel(name = "合同自动编号", width = 15)
    @ApiModelProperty(value = "合同自动编号")
    private java.lang.String contractAutoNumber;
	/**主合同名称*/
	@Excel(name = "主合同名称", width = 15)
    @ApiModelProperty(value = "主合同名称")
    private java.lang.String mainContractName;
	/**主合同编号*/
	@Excel(name = "主合同编号", width = 15)
    @ApiModelProperty(value = "主合同编号")
    private java.lang.String mainContractNumber;
	/**合同手动编号*/
	@Excel(name = "合同手动编号", width = 15)
    @ApiModelProperty(value = "合同手动编号")
    private java.lang.String contractManualName;
	/**合同名称*/
	@Excel(name = "合同名称", width = 15)
    @ApiModelProperty(value = "合同名称")
    private java.lang.String contractName;
	/**委托人*/
	@Excel(name = "委托人", width = 15)
    @ApiModelProperty(value = "委托人")
    private java.lang.String client;
	/**隶属公司*/
	@Excel(name = "隶属公司", width = 15)
    @ApiModelProperty(value = "隶属公司")
    private java.lang.String subordinateCompany;
	/**投资额*/
	@Excel(name = "投资额", width = 15)
    @ApiModelProperty(value = "投资额")
    private java.math.BigDecimal investmentAmount;
	/**预估收入*/
	@Excel(name = "预估收入", width = 15)
    @ApiModelProperty(value = "预估收入")
    private java.lang.String estimatedIncome;
	/**合同类型*/
	@Excel(name = "合同类型", width = 15, dicCode = "contract_type")
    @Dict(dicCode = "contract_type")
    @ApiModelProperty(value = "合同类型")
    private java.lang.String contractType;
	/**项目负责人*/
	@Excel(name = "项目负责人", width = 15)
    @ApiModelProperty(value = "项目负责人")
    private java.lang.String projectLeader;
	/**项目总数*/
	@Excel(name = "项目总数", width = 15)
    @ApiModelProperty(value = "项目总数")
    private java.lang.String totalItems;
	/**合同履行状态*/
	@Excel(name = "合同履行状态", width = 15, dicCode = "contract_performance_status")
    @Dict(dicCode = "contract_performance_status")
    @ApiModelProperty(value = "合同履行状态")
    private java.lang.String contractPerformanceStatus;
	/**合同签订时间*/
	@Excel(name = "合同签订时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "合同签订时间")
    private java.util.Date contractSigningTime;
	/**项目名称*/
	@Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private java.lang.String projectName;
	/**详细地址*/
	@Excel(name = "详细地址", width = 15)
    @ApiModelProperty(value = "详细地址")
    private java.lang.String detailedAddress;
	/**项目规模*/
	@Excel(name = "项目规模", width = 15)
    @ApiModelProperty(value = "项目规模")
    private java.lang.String projectScale;
	/**项目所在地*/
	@Excel(name = "项目所在地", width = 15)
    @ApiModelProperty(value = "项目所在地")
    private java.lang.String projectLocation;
	/**项目来源*/
	@Excel(name = "项目来源", width = 15, dicCode = "project_source")
    @Dict(dicCode = "project_source")
    @ApiModelProperty(value = "项目来源")
    private java.lang.String projectSource;
	/**项目参与人员*/
	@Excel(name = "项目参与人员", width = 15)
    @ApiModelProperty(value = "项目参与人员")
    private java.lang.String projectParticipants;
	/**合同金额*/
	@Excel(name = "合同金额", width = 15)
    @ApiModelProperty(value = "合同金额")
    private java.math.BigDecimal contractValue;
	/**资金来源*/
	@Excel(name = "资金来源", width = 15)
    @ApiModelProperty(value = "资金来源")
    private java.math.BigDecimal fundSource;
	/**咨询业务范围及内容*/
	@Excel(name = "咨询业务范围及内容", width = 15)
    @ApiModelProperty(value = "咨询业务范围及内容")
    private java.lang.String consultingBusiness;
	/**履行期限*/
	@Excel(name = "履行期限", width = 15)
    @ApiModelProperty(value = "履行期限")
    private java.lang.String performanceTime;
	/**履行期限说明*/
	@Excel(name = "履行期限说明", width = 15)
    @ApiModelProperty(value = "履行期限说明")
    private java.lang.String performanceTimeExplain;
	/**处罚条款*/
	@Excel(name = "处罚条款", width = 15)
    @ApiModelProperty(value = "处罚条款")
    private java.lang.String penaltyClause;
	/**收费标准*/
	@Excel(name = "收费标准", width = 15)
    @ApiModelProperty(value = "收费标准")
    private java.lang.String chargingStandards;
	/**付款条件*/
	@Excel(name = "付款条件", width = 15)
    @ApiModelProperty(value = "付款条件")
    private java.lang.String paymentTerms;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remarks;
	/**是否有中标通知书*/
	@Excel(name = "是否有中标通知书", width = 15, dicCode = "has_or_not")
    @Dict(dicCode = "has_or_not")
    @ApiModelProperty(value = "是否有中标通知书")
    private java.lang.String hasBidNotice;
	/**中标通知书附件*/
	@Excel(name = "中标通知书附件", width = 15)
    @ApiModelProperty(value = "中标通知书附件")
    private java.lang.String bidNoticeAttachment;
	/**合同附件*/
	@Excel(name = "合同附件", width = 15)
    @ApiModelProperty(value = "合同附件")
    private java.lang.String contractAttachment;
}
